#ifndef __HOSTILE_ENTITY_HPP__
#define __HOSTILE_ENTITY_HPP__

#include <time.h>
#include <string>
#include "Entity3D.hpp"
#include "Hostile.hpp"
#include "HostileEntityStateNames.hpp"
#include "HostileEntityStates.hpp"
#include "../MFSMachine.hpp"

class MMessage;

class HostileEntity : public Entity3D, public Hostile
{
public:
	HostileEntity(std::string modelName, std::string textureName);
	~HostileEntity();

	MFSMachine<HostileEntity, HostileEntityStateName>*    getStateMachine();
	virtual void update(clock_t tick);
	virtual void handleMessage(MMessage *pMsg);

private:
	MFSMachine<HostileEntity, HostileEntityStateName>*    m_pMFSMachine;
};

#endif //__HOSTILE_ENTITY_HPP__

//EOF
